home *** CD-ROM | disk | FTP | other *** search
- #ifdef DOCUMENTATION
- /******************************* DOCZ Header *********************************
- .MODULE juldate
- .LIBRARY csub
- .TYPE function
- .APPLICATION date/time
- .SYSTEM msdos-s
- .SYSTEM msdos-l
- .SYSTEM vms
- .SYSTEM unix
- .AUTHOR Software Toolz
- .LANGUAGE C
- .DESCRIPTION
- Calendar to integer julian conversion
- .ARGUMENTS
- unsigned short juldate(year,month,day)
- unsigned year, /* (r) 1 - 99 */
- month, /* (r) 1 - 12 */
- day; /* (r) 1 - 31 */
- .NARRATIVE
- enter year = 1 to 99 for 1901 to 1999
- month = 1 to 12
- day = 1 to 31
- .RETURNS
- The Julian date as an unsigned integer
- .SEE_ALSO jultostr()
- strtojul()
- strtime()
- strdate()
- .FIXES 2/9/89
- Return was "unsigned", now is "unsigned short"
- .NOTICE
- Copyright 1989 Software Toolz, Inc. - Atlanta, Georgia
-
- All rights reserved worldwide. This program may not be reproduced,
- transmitted, transcribed, stored in a retrieval system or translated in
- any human or computer language, in any form without the express written
- permission of Software Toolz, Inc.
- .ENDOC END DOCUMENTATION
- *****************************************************************************/
- #endif /* DOCUMENTATION */
-
- #include <stdio.h>
- #include "csub.h"
-
- /*****************************************************************************
- Juldate
- *****************************************************************************/
- unsigned short juldate(year,month,day)
- unsigned year, /* (r) 0 - 99 */
- month, /* (r) 1 - 12 */
- day; /* (r) 1 - 31 */
- {
- unsigned int y,m;
-
- y = year;
- if(month > 2)
- m = month - 3;
- else
- {
- m = month + 9;
- y -= 1;
- }
- return((unsigned short)((1461L * y)/4) + (((((153 * m)+2)/5)+day)-1));
- }
-